import axios from "axios";
import { Loading } from "element-ui";

import router  from  '../router'
axios.defaults.baseURL = "http://www.liulongbin.top:3008";
// 添加请求拦截器
let loadingInstance;
axios.interceptors.request.use(
  function (config) {
    console.log(config, 777);  
    /* 目的：检测  config.url中是否有/my   
    有my   添加请求头
    没有   不需要添加
     */
     if(config.url.indexOf('/my') !== -1){
       config.headers['Authorization']=localStorage.getItem('token')
     }
    //  开启loading
    loadingInstance = Loading.service({
      text: "拼命加载中",
      fullscreen: true,
      background: "rgba(0, 0, 0, 0.8)",
    });
    // 在发送请求之前做些什么
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
axios.interceptors.response.use(
  function (response) {
    // 对响应数据做点什么

    // 关闭loding效果
    loadingInstance.close();
    return response;
  },
  function (error) {
    if(error.response.status===401){
      //  token失效
    /* 
    删除本地缓存  因为已经过期了 
    需要重新获取token
     */
     localStorage.setItem('token','')
     router.push('/login')
    }
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);


export default axios;
